import cn.usian.jyzx.model.entity.product.Category;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

//@SpringBootTest(classes = ProductApplication.class )
public class mytest {
    public static void main(String[] args) {
        List<Category> list = new ArrayList<>();
        list.add(Category.builder().name("数码产品").build());
        list.add(Category.builder().name("大家电").build());

        // 使用stream流遍历集合,得到集合中的每一个category对象,然后对对象的内容进行修改,修改后,不收集数据,集合的数据是否会发生变化!
        list.stream().forEach(s->{
            // 此时的s代表的就是每一个category对象,是引用数据类型,因此我们可以根据地址值找到对象后,对对象的内容进行修改,修改后原对象的内容就已经发生改变了!!!
            s.setName("手机");
        });
        System.out.println(list);

        System.out.println("-------------------------------------");
        List<Integer> list2 = new ArrayList<>();
        list2.add(2);
        list2.add(3);
        list2=list2.stream().map(s->s*2).collect(Collectors.toList());
        System.out.println(list2);
    }

    /*@Autowired
    private CategoryService categoryService;*/

    /*@Test
    public void test(){
        List<Category> list = categoryService.findCategoryTree();
        System.out.println(list);
    }*/

    @Test
    public void testString(){
        String s = "abc";
        String s1 = new StringBuilder(s).reverse().toString();
        System.out.println(s1);
    }

    @Test
    // 使用递归的方式,遍历多层文件夹,打印出文件夹下所有的文件绝对路径
    public void testFile(){
        File f = new File("D:\\store\\资料仓库\\神器资料-很重要！！\\神器资料-就业班专用");
        bianLiDir(f);
    }
    // 专门定义一个可以处理文件夹的方法
    public void bianLiDir(File dir){
        // 面向dir对象,获取该文件夹下所有的内容
        File[] files = dir.listFiles();
        // 遍历数组,获取每一个文件对象
        for (File file : files) {
            // 此时的file代表的就是 dir 下面的每一个内容 (有可能是文件,也有可能是文件夹)
            if(file.isFile()){
                // 是文件,打印出文件夹下所有的文件绝对路径
                System.out.println(file.getAbsolutePath());
            }else {
                // file是文件夹,使用 bianLiDir 处理 file即可
                bianLiDir(file);
            }
        }
    }

}
